<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( https://opensource.org/licenses/mit-license.php )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\api\controller;

use app\plugins\wallet\service\WalletService;
use app\service\ApiService;
use app\service\SystemBaseService;
use app\service\IntegralService;
use app\service\UserService;
use think\Exception;
use think\facade\Db;

/**
 * 用户积分管理
 * @author   Devil
 * @blog     http://gong.gg/
 * @version  0.0.1
 * @datetime 2016-12-01T21:51:08+0800
 */
class Userbank extends Common
{
    /**
     * 构造方法
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-03T12:39:08+0800
     */
    public function __construct()
    {
        // 调用父类前置方法
        parent::__construct();

        // 是否登录
        $this->IsLogin();
    }

    /**
     * 列表
     * @author   Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2018-09-28
     * @desc    description
     */
    public function Index()
    {
        // 参数
        $user = $this->user;
        // 条件
        $where['user_id'] = $user['id'];
        // 获取总数
        $total = (int) Db::name('UserBank')->where($where)->count();
        $page_total = ceil($total/$this->page_size);
        $start = intval(($this->page-1)*$this->page_size);
        // 获取数据列表
        $data = Db::name('UserBank')->where($where)->limit($start, $page_total)->order('id desc')->select()->toArray();

        // 返回数据
        $result = [
            'total'         => $total,
            'page_total'    => $page_total,
            'data'          => $data,
        ];
        return ApiService::ApiDataReturn(SystemBaseService::DataReturn($result));
    }

    public function SaveUserBank()
    {
        $params = $this->data_request;
        $user = $this->user;
        $user = UserService::UserBaseInfo('id', $user['id']);
        if(empty($params['bank_name']) || empty($params['bank_no']) || empty($params['realname']) || empty($params['phone'])) {
            return ApiService::ApiDataReturn(DataReturn("Please Input Data Content", -1));
        }
        $save = [
            'bank_name' => $params['bank_name'],
            'bank_no' => $params['bank_no'],
            'realname' => $params['realname'],
            'phone' => $params['phone'],
            'user_id' => $user['id'],
            'create_at' => date('Y-m-d H:i:s'),
        ];
        if(!empty($params['id'])) {
            $res = Db::name('UserBank')->where(['user_id' => $user['id'], 'id' => $params['id']])->update($save);
        } else {
            $res = Db::name('UserBank')->insert($save);
        }
        if(!$res) {
            return ApiService::ApiDataReturn(DataReturn("Request Error", -1));
        }
        return ApiService::ApiDataReturn(DataReturn("Success！", 0));
    }

    public function DeleteUserBank()
    {
        $params = $this->data_request;
        $user = $this->user;
        $user = UserService::UserBaseInfo('id', $user['id']);
        if(!isset($params['id']) || empty($params['id']))
            return ApiService::ApiDataReturn(DataReturn("Request Error", -1));

        if(!Db::name('UserBank')->where(['user_id' => $user['id'], 'id' => $params['id']])->delete()) {
            return ApiService::ApiDataReturn(DataReturn("Deleted Error", -1));
        }
        return ApiService::ApiDataReturn(DataReturn("Success！", 0));
    }
}
?>